Information processing apparatus and method, communication processing apparatus and method, and computer program

ABSTRACT

An information processing method provided, wherein an identifier (ID) corresponding to an object is obtained based on information input from a sensor for detecting the object, and the obtained ID is continuously and repeatedly input to an information processing unit. The information processing unit compares a program that is set based on a newly-input ID with a program that is set based on an already-input ID, and ends the currently-executed program when the two programs are different from each other. In this method, by putting an object in a sensor effective area, a program corresponding to the ID of the object is started, and by removing the object from the sensor effective area, the program is ended.

BACKGROUND OF THE INVENTION

The present invention relates to an information processing apparatus andmethod, a communication processing apparatus and method, and a computerprogram. Specifically, the present invention relates to an informationprocessing apparatus and method, a communication processing apparatusand method, and a computer program, in which it is determined whether ornot an object, such as a book or card, exists in a sensor detectingarea, so that the internal state of the information processing apparatusis changed according to the identified object. More specifically, thepresent invention relates to an information processing apparatus andmethod, a communication processing apparatus and method, and a computerprogram, in which startup/exit of an application program andconnection/disconnection to/from network can be achieved according to anidentified object.

Personal computers are rapidly becoming common in homes, owing toimproved performance and lower cost of information processingapparatuses. Most of the personal computers adopt a graphical userinterface (GUI) as an interface which is simple and intuitive. In asystem using the GUI, a user can operate a computer by selecting an iconor menu with a mouse or pen tablet, instead of inputting a command witha keyboard.

However, even in such a system adopting the GUI as a user interface,users who are not familiar with a computer find it difficult to operatea computer. Considering these circumstances, an intuitive operationalitywhich is friendly for every user has not been developed.

In order to develop an intuitive operationality which is friendly formore users, a real-world-oriented interface (a technique of achieving anintuitive computer operation by using a real physical object), has beenstudied.

An example of the real-world-oriented interface includes a bar code,two-dimensional code, or radio frequency identification (RFID) attachedto a physical object. An RFID tag includes a silicon chip and an antennaused for wirelessly transmitting data. The RFID tag can be attached toany thing and is used as a transmission tag of identification data of anobject. A number of RFID tags can be instantaneously read by an RFreader, if the RFID tags are within a detectable range of the RF reader.Such a system, in which ID information (for example, bar code,two-dimensional code, or RFID) is attached to an object so that acomputer identifies the ID and performs processing according to theobject having the ID, has been suggested.

For example, patent document 1 (Japanese Unexamined Patent ApplicationPublication No. 2000-82107: “Image processing apparatus, imageprocessing method, and medium”) discloses an apparatus in which anapplication program corresponding to a code registered in advance isstarted by a two-dimensional code.

Also, in an apparatus disclosed in patent document 2 (JapaneseUnexamined Patent Application Publication No. 2001-222433: “Informationrecording medium, information processing apparatus, informationprocessing method, and a program recording medium”), data and a methodof processing the data (application program starting method) are writteninto an optical code, the two-dimensional code is read by a code reader,and the data embedded in the code can be easily reproduced.

In a method disclosed in patent document 3 (Japanese Unexamined PatentApplication Publication No. 8-69436: “Multimedia selecting/controllingapparatus and method of providing multimedia service”), a marker on anobject is read by a scanner, and services provided through a network areswitched according to the marker.

In each of the above-described known systems, identification of an ID,that is, recognition of a physical object, is used only for starting anapplication program and connecting to a network. That is, identificationof an ID is used as a trigger for allowing a computer, in turn, to starta process.

In the above-described known arts, when a user wants to exit acurrently-executed program in an information processing apparatus, suchas a PC, he/she has to use a method which is not related to a physicalobject. That is, the user has to select an exit command from a menu orinput a key for exit on a keyboard. Therefore, the user has to operate akeyboard or a mouse in order to exit a program. This method is notpreferable in terms of the real-world-oriented interface, in whichprocessing related to a physical object is performed by operating thephysical object.

SUMMARY OF THE INVENTION

The present invention has been made in view of the above-describedproblems, whereby it is an object of the present invention to provide aninformation processing apparatus and method, a communication processingapparatus and method, and a computer program, in which a state ofprocessing performed by an information processing apparatus, such as acomputer, can be changed based on identification information of anobject, so that an intuitive and consistent user interface and operationof the information processing apparatus can be achieved.

More specifically, it is object of the present invention to provide aninformation processing apparatus and method, a communication processingapparatus and method, and a computer program, in which variousprocessing performed in an information processing apparatus including aPC, such as startup of an application program, parameter setting in anexecution program, update of data, exit of a program,connection/disconnection to/from network, and change of connected party,can be performed based on identification information of the ID of anobject input to the information processing apparatus or on recognitionof presence of the object.

Further, it is another object of the present invention to provide aninformation processing apparatus and method, a communication processingapparatus and method, and a computer program, in which an intuitiveoperation can be achieved by performing identification of an IDcorresponding to an object and identification of the object itself, andin which highly stable and robust control of state transition willresult.

According to a first embodiment of the present invention, an informationprocessing apparatus includes a sensor for detecting an object; anobject-identifying unit which obtains an ID corresponding to the objectbased on information input from the sensor so as to repeatedly outputthe obtained ID based on the information input from the sensor; and aninformation processing unit which repeatedly receives the ID from theobject-identifying unit so as to perform a program corresponding to theID. The information processing unit compares a program that is set basedon a newly-input ID with a program that is set based on an already-inputID from the object-identifying unit, and ends the currently-executedprogram when the two programs are different from each other.

The information processing unit compares the program that is set basedon the newly-input ID with the program that is set based on thealready-input ID from the object-identifying unit, and ends thecurrently-executed program so as to start the program that is set basedon the newly-input ID when the two programs are different from eachother.

The information processing apparatus may further include anID/internal-state correspondence storage unit for storing a processinginformation table in which IDs to be obtained by the object-identifyingunit are associated with paths of execution files. With thisconfiguration, the information processing unit searches theID/internal-state correspondence storage unit based on the ID input fromthe object-identifying unit so as to determine a program to be executed.

The sensor detects the object in a sensor effective area serving as anobject recognizing area, the object-identifying unit outputs a specialID indicating absence of an object to the information processing unitwhen information received from the sensor does not include objectinformation from which an ID can be obtained, and the informationprocessing unit sets a next program to null based on the special ID.

The information processing unit starts an application program that isset based on the ID input from the object-identifying unit, compares anapplication program that is set based on the newly-input ID with anapplication program that is set based on the already-input ID from theobject-identifying unit, and ends the currently-executed applicationprogram when the two application programs are different from each other.

According to another embodiment of the present invention, an informationprocessing apparatus includes a sensor for detecting objects; anobject-identifying unit which obtains first and second IDs correspondingto the objects based on information input from the sensor so as torepeatedly output the obtained IDs based on the information input fromthe sensor; and an information processing unit which repeatedly receivesthe IDs from the object-identifying unit so as to perform a programcorresponding to the IDs. The information processing unit sets acommunication protocol corresponding to the first ID input from theobject-identifying unit and sets a connected party corresponding to thesecond ID input from the object-identifying unit. When at least one of acommunication protocol and a connected party corresponding to first andsecond newly-input IDs from the object-identifying unit is differentfrom at least one of a communication protocol and a connected partycorresponding to first and second already-input IDs, the informationprocessing unit changes the communication protocol or the connectedparty based on the corresponding newly-input ID.

The information processing apparatus may further include anID/internal-state correspondence storage unit for storing a processinginformation table including data of correspondence between IDs to beobtained by the object-identifying unit and communication protocolinformation and data of correspondence between IDs to be obtained by theobject-identifying unit and connected party information. The informationprocessing unit searches the ID/internal-state correspondence storageunit based on the first and second IDs input from the object-identifyingunit so as to obtain information of corresponding communication protocoland connected party.

The object-identifying unit includes an ID-determining unit forobtaining an ID corresponding to the object and an object presencedetermining unit for determining presence of the object in a sensordetecting area. The information processing unit controls processingbased on ID information determined by the ID-determining unit and onpresence determination information of the object determined by theobject presence determining unit, ends the currently-executed programwhen the program corresponding to the newly-input ID based on IDinformation determined by the ID-determining unit is different from theprogram corresponding to the already-input ID and when the objectpresence determining unit determines absence of the object, andcontinues the currently-executed program when the program correspondingto the newly-input ID based on the ID information determined by theID-determining unit is different from the program corresponding to thealready-input ID and when the object presence determining unitdetermines presence of the object.

According to another embodiment of the present invention, acommunication processing apparatus performing communication processingis provided. The apparatus includes a sensor for detecting objects; anobject-identifying unit which obtains first and second IDs correspondingto the objects based on information input from the sensor so as torepeatedly output the obtained IDs based on the information input fromthe sensor; and an information processing unit which repeatedly receivesthe IDs from the object-identifying unit so as to perform a programcorresponding to the IDs. The information processing unit sets acommunication protocol corresponding to the first ID input from theobject-identifying unit and sets a connected party corresponding to thesecond ID input from the object-identifying unit.

When at least one of a communication protocol and a connected partycorresponding to first and second newly-input IDs from theobject-identifying unit is different from at least one of acommunication protocol and a connected party corresponding to first andsecond already-input IDs, the information processing unit changes thecommunication protocol or the connected party based on the correspondingnewly-input ID.

According to another embodiment of the present invention, an informationprocessing method includes an object identifying step of obtaining an IDcorresponding to an object based on information input from a sensor,which detects the object, and repeatedly outputting the obtained ID toan information processing unit based on the information input from thesensor; and an information processing step of repeatedly receiving theID obtained in the object identifying step and performing a programcorresponding to the ID. In the information processing step, a programthat is set based on a newly-input ID is compared with a program that isset based on an already-input ID, and the currently-executed program isended when the two programs are different from each other.

In the information processing step, the program that is set based on thenewly-input ID is compared with the program that is set based on thealready-input ID, and the currently-executed program is ended so as tostart the program that is set based on the newly-input ID when the twoprograms are different from each other.

In the information processing step, an ID/internal-state correspondencestorage unit for storing a processing information table in which IDs areassociated with paths of execution files is searched based on the inputID so as to determine a program to be executed.

The sensor detects the object in a sensor effective area serving as anobject recognizing area. In the object identifying step, a special IDindicating absence of an object is output to the information processingunit when information received from the sensor does not include objectinformation from which an ID can be obtained. Accordingly, in theinformation processing step, a next program is set to null based on thespecial ID.

In the information processing step, an application program that is setbased on the input ID is started, an application program that is setbased on the newly-input ID is compared with an application program thatis set based on the already-input ID, and the currently-executedapplication program is ended when the two application programs aredifferent from each other.

According to another embodiment of the present invention, an informationprocessing method includes an object identifying step of obtaining firstand second IDs corresponding to objects based on information input froma sensor, which detects the objects, and repeatedly outputting theobtained IDs to an information processing unit based on the informationinput from the sensor; and an information processing step of repeatedlyreceiving the IDs obtained in the object identifying step and performinga program corresponding to the IDs. In the information processing step,a communication protocol corresponding to the first ID is set and aconnected party corresponding to the second ID is set. When at least oneof a communication protocol and a connected party corresponding to firstand second newly-input IDs is different from at least one of acommunication protocol and a connected party corresponding to first andsecond already-input IDs, the communication protocol or the connectedparty is changed based on the corresponding newly-input ID.

In the information processing step, an ID/internal-state correspondencestorage unit for storing a processing information table including dataof correspondence between IDs and communication protocol information anddata of correspondence between IDs and connected party information issearched based on the input first and second IDs so as to obtaininformation of corresponding communication protocol and connected party.

The object identifying step includes an ID determining step of obtainingan ID corresponding to the object; and an object presence determiningstep of determining presence of the object in a sensor detecting area.In the information processing step, processing is controlled based on IDinformation determined in the ID determining step and on presencedetermination information of the object determined in the objectpresence determining step. Also, the currently-executed program is endedwhen the program corresponding to the newly-input ID is different fromthe program corresponding to the already-input ID and when absence ofthe object is determined in the object presence determining step, andthe currently-executed program is continued when the programcorresponding to the newly-input ID is different from the programcorresponding to the already-input ID and when presence of the object isdetermined in the object presence determining step.

According to another embodiment of the present invention, acommunication processing method includes an object identifying step ofobtaining first and second IDs corresponding to objects based oninformation input from a sensor, which detects the objects, andrepeatedly outputting the obtained IDs to an information processing unitbased on the information input from the sensor; and an informationprocessing step of repeatedly receiving the IDs obtained in the objectidentifying step and performing a program corresponding to the IDs. Inthe information processing step, a communication protocol correspondingto the first ID is set and a connected party corresponding to the secondID is set.

In the information processing step, when at least one of a communicationprotocol and a connected party corresponding to first and secondnewly-input IDs is different from at least one of a communicationprotocol and a connected party corresponding to first and secondalready-input IDs, the communication protocol or the connected party ischanged based on the corresponding newly-input ID.

According to another embodiment of the present invention, a computerprogram for executing information processing is provided. The programincludes an object identifying step of obtaining an ID corresponding toan object based on information input from a sensor, which detects theobject, and repeatedly outputting the obtained ID to an informationprocessing unit based on the information input from the sensor; and aninformation processing step of repeatedly receiving the ID obtained inthe object identifying step and performing a program corresponding tothe ID. In the information processing step, a program that is set basedon a newly-input ID is compared with a program that is set based on analready-input ID, and the currently-executed program is ended when thetwo programs are different from each other.

According to another embodiment of the present invention, a computerprogram for executing communication processing is provided. The programincludes an object identifying step of obtaining first and second IDscorresponding to objects based on information input from a sensor, whichdetects the objects, and repeatedly outputting the obtained IDs to aninformation processing unit based on the information input from thesensor; and an information processing step of repeatedly receiving theIDs obtained in the object identifying step and performing a programcorresponding to the IDs. In the information processing step, acommunication protocol corresponding to the first ID is set and aconnected party corresponding to the second ID is set.

According to the present invention, an ID corresponding to an object isobtained based on information input from a sensor for detecting theobject, the obtained ID is continuously and repeatedly input to theinformation processing unit, and the information processing unitcompares a program that is set based on a newly-input ID and a programthat is set based on an already-input ID, so as to end thecurrently-executed program when the two programs are different from eachother. With this configuration, by putting an object in a sensoreffective area (for example, image-pickup range of a camera), a programcorresponding to the ID of the object can be started. Also, by removingthe object from the sensor effective area, the program corresponding tothe ID of the object can be ended. Accordingly, a user can start/exit aprogram in the information processing apparatus only by performing asimple operation; that is, by putting an object associated with an ID inthe sensor effective area or by removing the object from sensoreffective area.

Also according to the present invention, two types of ID information canbe obtained based on two types of objects, such as, a protocol card anda connected-party card, so as to set a communication protocol and aconnected party. Accordingly, the user can start/end communication onlyby performing a simple operation; that is, by putting an objectassociated with an ID in the sensor effective area (for example,image-pickup range of a camera) or by removing the object from thesensor effective area. In addition, the user can change thecommunication protocol or the connected party by performing the simpleoperation.

Moreover, according to the present invention, the information processingapparatus is controlled based on obtaining of ID of an object anddetermination of presence of an object. Therefore, even when the ID ofan object cannot be obtained, when presence of the object is determined,the currently-executed program is not ended. Accordingly, thecurrently-executed program is continued and ending of the program due toID obtaining error does not occur. As a result, startup/exit of aprogram is not repeated frequently and, thus, highly-stable and robustcontrol results.

The computer program of the present invention can be provided, in acomputer-readable form, to a multi-purpose computer system for executingvarious program codes through storage medium or communication medium,such as CD, FD, MO, or network. By providing such a program in acomputer-readable form, processing corresponding to the program can beaffected in the computer system.

Further objects, features, and advantages of the present invention willbecome apparent from the following description of the preferredembodiments with reference to the attached drawings. In thisspecification, a system refers to a logical complex of a number ofdevices, with all the devices not necessarily being required in a case.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the overview of an informationprocessing apparatus of the present invention.

FIG. 2 shows the system structure of an information processing apparatusaccording to a first embodiment of the present invention.

FIG. 3 shows an example of a book, serving as an object applied to theinformation processing apparatus of the first embodiment.

FIG. 4 shows an example of a processing information table stored in anID/internal-state correspondence storage unit of the informationprocessing apparatus.

FIG. 5 shows an example the configuration of an information processingunit of the information processing apparatus.

FIG. 6 is a flowchart of a process performed by the informationprocessing apparatus of the first embodiment.

FIG. 7 shows the system structure of an information processing apparatusaccording to a second embodiment of the present invention.

FIG. 8 shows examples of a protocol card and a connected-party card,serving as objects applied to the information processing apparatus ofthe second embodiment.

FIGS. 9A and 9B show examples of processing information tables stored inthe ID/internal-state correspondence storage unit of the informationprocessing apparatus of the second embodiment.

FIG. 10 is a flowchart of a process performed by the informationprocessing apparatus of the second embodiment.

FIG. 11 is a flowchart of a process performed by the informationprocessing apparatus of the second embodiment.

FIG. 12 is a flowchart of a process performed by the informationprocessing apparatus of the second embodiment.

FIG. 13 shows an example the structure of ID information in the secondembodiment.

FIG. 14 shows an example of the configuration of an object-identifyingunit of an information processing apparatus according to a thirdembodiment.

FIG. 15 shows the system structure of the information processingapparatus of the third embodiment.

FIG. 16 shows an example of the configuration of an object detectingsensor according to the third embodiment.

FIG. 17 shows another example of the configuration of the objectdetecting sensor according to the third embodiment.

FIG. 18 shows another example of the configuration of the objectdetecting sensor according to the third embodiment.

FIG. 19 shows another example of the configuration of the objectdetecting sensor according to the third embodiment.

FIG. 20 is a flowchart of a process illustrating a processing sequenceperformed by the information processing apparatus of the thirdembodiment.

FIG. 21 shows an example of the hardware structure of the informationprocessing apparatus of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, embodiments of the present invention will be described withreference to the drawings. FIG. 1 is a block diagram showing theoverview of an information processing apparatus of the presentinvention. A specific hardware structure thereof will be describedlater. An information processing apparatus 100 includes a sensor 101; anobject-identifying unit 102; an information processing unit 103; anID/internal-state correspondence storage unit 104; a network interface105; and an output unit 106.

The sensor 101 determines whether or not an object 111 exists in asensor effective area 110, which is a data obtaining area for the sensor101. The object 111 may be any thing which can be detected by thesensor; for example, a book, a card, and a toy. An identifier (ID) isassociated with each object, so that the sensor 101 detects the object111.

The sensor 101 recognizes the object 111 and inputs recognitioninformation to the object-identifying unit 102, which identifies IDinformation corresponding to the object 111. The information input fromthe sensor 101 to the object-identifying unit 102 is information bywhich the ID of the object can be identified.

For example, if an ID set to the object 111 is radio frequencyidentification (RFID), an RFID reader, serving as a radio reader whichcan receive transmission data from RFID, is used as the sensor 101. Onthe other hand, if the ID set to the object 111 is code data, such as abar code or two-dimensional code, a camera serving as an image pickupunit which can read code data, or a camera serving simply as an imagetaking unit is used as the sensor 101. In this case, theobject-identifying unit 102 may identify an ID based on an image of theobject; thus, it is not necessary to attach code data or the likecorresponding to the ID to the object.

The object-identifying unit 102 uses information from the sensor 101 soas to determine whether or not an object associated with an ID exists inthe sensor effective area 110. For example, if the sensor 101 is an RFIDreader, the sensor 101 reads some RFID. When the object-identifying unit102 receives effective ID data from the sensor 101, theobject-identifying unit 102 determines that an object exists. Otherwise,the object-identifying unit 102 determines that an object does notexist.

When the ID set to an object is code data, such as a two-dimensionalcode, and when the sensor 101 is a camera, an image taken by the camerais analyzed so as to determine presence of the object and to identifyits ID. Alternatively, an image recognition method may be used insteadof a special code, so as to identify the ID corresponding to an objectbased on shape information or color information of the object.

Further, the object-identifying unit 102 can perform a process ofdetermining presence of an object, as well as a process of identifyingan ID. That is, even if an ID cannot be identified, presence of anobject may be determined. In such a case, the information processingapparatus 100 performs a process based on information indicating that anobject exists. When an ID cannot be identified but when presence of anobject can be determined, then it is determined that the object havingthe ID which has been previously identified continuously exists. In thiscase, processing state of the information processing apparatus 100 canbe set to a state where an ID continuously exists, and thus theinformation processing apparatus 100 can be stably controlled androbustness of the control can be enhanced. Details of this process willbe described later.

The object-identifying unit 102 outputs an identified ID of an object orinformation indicating presence of the object to the informationprocessing unit 103. The information processing unit 103 changes theinternal state thereof based on the identified ID of the object or theinformation indicating presence of the object. Transition of theinternal state refers to, for example, startup/exit of application,setting/change of parameters of an executed program in the application,and connection/disconnection to/from network and setting/change ofaddress when a processed program is data communication processing. Theseprocesses can be executed in the information processing unit 103.

State transition in the information processing unit 103 is performedbased on correspondence data of IDs and the internal states of theinformation processing apparatus 100, the correspondence data beingrecorded in the ID/internal-state correspondence storage unit 104. TheID/internal-state correspondence storage unit 104 stores a processinginformation table indicating correspondence between IDs of objects andstate information of the information processing apparatus to be set inaccordance with each ID. A specific example of the processinginformation table will be described later.

The output unit 106 outputs a result of information processing performedby the information processing unit 103. The output unit 106 includes,for example, a display and a speaker. When the information processingapparatus 100 has a communication processing function, the networkinterface 105 is provided therein, so that communication is performedthrough the Internet or a LAN. The output unit 106 and the networkinterface 105 are provided in accordance with processing performed bythe information processing apparatus 100, and they are not alwaysnecessary.

Next, specific examples of processing performed by using the informationprocessing apparatus shown in FIG. 1 will be described. Herein, thefollowing three embodiments are described.

-   (1) Process of starting/exiting an application program-   (2) Process of connecting/disconnecting to/from network-   (3) Process for enhancing robustness based on determination of    presence of an object

FIRST EMBODIMENT Process of Starting/Exiting an Application Program

First, a process of starting/exiting an application program will bedescribed as a first example of a process to which the informationprocessing apparatus and the information processing method of thepresent invention are applied.

FIG. 2 shows an example of the system structure of the informationprocessing apparatus used for performing this embodiment. In thissystem, a camera 202 provided on a display 201 functions as a sensor,and takes an image of the area in front of the display 201. Apredetermined area in front of the display 201, or the area which can betaken by the camera 202, is set as an image-pickup range 206corresponding to the sensor effective area.

A data processing unit 203 includes the elements shown in FIG. 1 exceptthe sensor 101 (corresponding to the camera 202) and the output unit 106(corresponding to the display 201); that is, the object-identifying unit102, the information processing unit 103, and the ID/internal-statecorrespondence storage unit 104 of the information processing apparatus100 shown in FIG. 1. Since communication processing through a network isnot performed in this embodiment, the data processing unit 203 may notinclude the network interface 105.

As an example of an object, a book 204 is used. A two-dimensional code205 corresponding to an identifier (ID) is printed on a page of the book204. FIG. 3 shows an example of a page of the book used in the systemshown in FIG. 2. In a book 301, a two-dimensional code 302 is printed inan area of each page. As the two-dimensional code, a code which can beadequately identified based on its image taken by a camera is preferablyused, such as a cyber code or a QR code.

The cyber code is a form of two-dimensional code, which is disclosed inJapanese Unexamined Patent Application Publication No. 2000-82108(“Two-dimensional code identifying/processing method, two-dimensionalcode identifying/processing apparatus, and medium”), which has beenassigned to the applicant of the present application. The QR code isalso a form of two-dimensional code, which is standardized asISO/IEC18004.

Another type of two-dimensional code other than the cyber code and theQR code may be applied. Further, a one-dimensional code, such as a barcode, may also be used as a code indicating an identifier (ID).

A user of the information processing apparatus puts the book 204 in theimage-pickup range 206 for the camera 202, which serves as a sensor, asshown in FIG. 2. Accordingly, the ID of the two-dimensional code 205printed on a page of the book 204 is obtained by the camera 202, thedata processing unit 203 identifies the ID, an application programcorresponding to the identified ID is started, and an execution resultof the application program executed by the data processing unit 203 isdisplayed in the display 201, which serves as the output unit.

When the user removes the book 204 from the image-pickup range 206 forthe camera 202, the ID of the two-dimensional code 205 printed on thepage of the book 204 cannot be obtained by the camera 202. In this case,the data processing unit 203 determines that ID information is notinput, and then exits the application program which is being executed inaccordance with the ID which has been previously identified. In thisway, the application program being executed by the data processing unit203 exits automatically. The details of this process will be describedlater.

In this embodiment, the camera is used as the sensor 101 shown in FIG.1, and the object-identifying unit 102 processes an image so as torecognize a two-dimensional code. The object-identifying unit 102identifies an ID corresponding to the two-dimensional code. Also, theinformation processing unit 103 selects, executes, and exits anapplication program based on the input state of the identified ID.

In order to select and execute an application program, the informationprocessing unit 103 searches the ID/internal-state correspondencestorage unit 104 based on the ID received from the object-identifyingunit 102, so as to obtain information of a program to be executed. TheID/internal-state correspondence storage unit 104 stores a processinginformation table including IDs and paths of programs corresponding tothe IDs.

FIG. 4 shows an example of the structure of the processing informationtable, which is stored in the ID/internal-state correspondence storageunit 104. As shown in FIG. 4, identifiers (IDs) to be read from objectsby a sensor and paths of programs to be executed in accordance with theIDs are recorded in the processing information table. For example, whenan ID: 001012 is read from an object and is input from theobject-identifying unit 102 to the information processing unit 103, theinformation processing unit 103 searches the table stored in theID/internal-state correspondence storage unit 104 for a program to beexecuted based on the ID: 001012.

In the ID/internal-state correspondence storage unit 104, table searchis performed based on the ID: 001012, and then the informationprocessing unit 103 obtains a search result; that is, a path ofexecution file: /usr/local/bin/game.exe. Then, the informationprocessing unit 103 starts a game execution program which is specifiedby the path: /usr/local/bin/game.exe.

When the book 204 shown in FIG. 2 is removed from the image-pickup range206 of the sensor (camera 202), the information of the two-dimensionalcode 205 disappears from image data in the sensor (camera 202), and thusinput of the ID: 001012 from the object-identifying unit 102 to theinformation processing unit 103 is interrupted. In accordance with theinterruption of input of the ID, the information processing unit 103exits the game execution program which is specified by the executionfile path: /usr/local/bin/game.exe, which is being executed inaccordance with the ID: 001012.

FIG. 5 shows a specific configuration of the information processing unit103 according to this embodiment. A program selecting unit 402 obtainsan ID from the object-identifying unit 102 (see FIG. 1) through an IDinput unit 401 and outputs the ID to the ID/internal-statecorrespondence storage unit 104 through an ID/internal-statecorrespondence storage unit I/O 403, so as to request an applicationprogram to be executed. Then, the program selecting unit 402 receives anexecution file path corresponding to the ID from the ID/internal-statecorrespondence storage unit 104, so as to allow a program executing unit404 to execute a program specified by the path.

The program executing unit 404 loads a file to be executed, which isspecified by the program execution file path obtained from theID/internal-state correspondence storage unit 104 based on the ID, froma program storing unit 405, and then executes the program. The result ofthe program processing executed by the program executing unit 404 iswritten into a frame buffer 406, and is presented to the user throughthe display (201) of the output unit 106.

Now, a process performed by the information processing unit of theinformation processing apparatus in this embodiment, that is, a processof executing/exiting a program based on an identified ID of an object,will be described with reference to the flowchart shown in FIG. 6.

First, in step S101, a string “CPRG” indicating the path of acurrently-executed program and a string “NPRG” indicating the path of aprogram to be executed next are set to null strings (for example,“null”) so as to perform initialization. When the null string “null” isset, an ineffective special path may be set, the path being regarded asnull.

Then, in step S102, an object is recognized. In this step, an image ofthe image-pickup range 206 taken by the camera 202 shown in FIG. 2 isinput to the object-identifying unit 102 in the data processing unit203. In step S102, only presence/absence of an object is determined. Atthis time, when a number of objects are recognized, an object isselected based on an appropriate standard. The standard may belikelihood output by a recognition algorithm (residual generated whenmatching is performed or likelihood in statistical estimation), or theposition of a recognized object. For example, an object which is theclosest to the display may be selected. Accordingly, an object isselected.

Then, in step S103, the ID of the recognized object is identified. Inthis step, the image of the image-pickup range 206 taken by the camera202 shown in FIG. 2 is input to the object-identifying unit 102 in thedata processing unit 203, and then the input image is analyzed, as instep S102. For example, a two-dimensional code is extracted from theobtained image, and an ID serving as identification data is obtainedbased on the two-dimensional code. When an object is not recognized, aspecial ID (for example, ID of all-0) indicating that an object is notrecognized may be set in the object-identifying unit 102, so that thespecial ID may be output to the information processing unit 103.

In step S104, it is determined whether or not the ID has been obtained.If the ID has not been obtained, for example, if a special ID of all-0has been output from the object-identifying unit 102 to the informationprocessing unit 103, next program (NPRG) is set to null in step S106.NPRG=null means that a next program is not set.

If it is determined that the ID has been obtained in step S104, a nextprogram determined based on the ID is set as NPRG in step S105. That is,the information processing unit 103 shown in FIG. 1 searches the tablestored in the ID/internal-state correspondence storage unit 104 based onthe ID information input from the object-identifying unit 102, obtainspath information of a program, and sets a string indicating the name ofthe obtained path to NPRG. As a result, the path of the next program isset as NPRG.

In step S107, it is determined whether or not the current program (CPRG)is the same as the next program (NPRG). When CPRG=NPRG, the processreturns to step S102, so that the object recognizing step and IDidentifying step are performed again. That is, the ID identifying stepis repeated while continuing the current program.

When it is determined that the current program (CPRG) is different fromthe next program (NPRG) in step S107, the process proceeds to step S108.In step S108, it is determined whether or not the current program (CPRG)exists. That is, it is determined whether CPRG≠null or CPRG=null. Whenthe current program (CPRG) exists (CPRG≠null), the current program(CPRG) is exited in step S109.

This step is performed in order to exit the current program (CPRG) andto start the next program (NPRG), because it has been determined thatthe current program (CPRG) is different from the next program (NPRG).That is, an object having a new ID has been detected or that input ofthe previously detected ID has been interrupted (the object having thepreviously detected ID has been removed from the sensor effective area).

When it is determined that a current program (CPRG) does not exist(CPRG=null) in step S108, a program is not executed currently, and thusthe process jumps to step S110.

In step S110, it is determined whether the next program (NPRG) has beenset (NPRG≠null) or not (NPRG=null). When the next program (NPRG) hasbeen set (NPRG≠null), the process proceeds to step S111, where the nextprogram is started by obtaining an NPRG setting file in accordance withthe path set to the next program (NPRG). This is a program correspondingto the ID of a newly-detected object.

When it is determined that a next program (NPRG) does not exist(NPRG=null) in step S110, a next program is not set, and thus theprocess jumps to step S112. In step S112, the set value of the nextprogram (NPRG) is substituted into the set value of the current program(CPRG), and then the process returns to step S102.

As described above, in the system structure shown in FIG. 2, a programcorresponding to the ID set in accordance with an object is started byputting an object (for example, a book) in the sensor effective area(image-pickup range for a camera). Also, by putting an object (forexample, a book) outside the sensor effective area (image-pickup rangefor a camera), input of the ID is interrupted. In this case, NPRG is setto null in step S106 in the flowchart shown in FIG. 6, “CPRG=NPRG” isdenied (No) in step S107, it is determined that a currently executedprogram exists in step S108, and then the current program (CPRG) isexited in step S109.

In this way, the user can start or exit a program in the informationprocessing apparatus only by performing a simple operation; by puttingan object associated with an ID in the sensor effective area(image-pickup range for a camera) or by removing the object from thesensor effective area.

In the above-described embodiment, a currently-executed program (CPRG)or a next program (NPRG) is represented by a string indicating the pathof the program; that is, CPRG=path name and NPRG=path name. Instead ofdirectly setting a path name, an ID obtained by the sensor may be heldas a program state value, that is, CPRG=identified ID andNPRG=identified ID, and the path of a program to be executed may besearched for by using Hash method or table search based on the ID.

Next, a process performed when a currently-executed program abends willbe described. In the process described with reference to FIG. 6, when aprogram abends, the set value (for example, path name) of the currentprogram (CPRG) is not updated, and thus a state where the program hasbeen ended is maintained.

In order to prevent such a state, the program selecting unit 402 in theinformation processing unit 103 shown in FIG. 5 monitors a startedprogram. When the program selecting unit 402 detects abend of a program,it updates the set value of the current program (CPRG); that is, CPRG isset to null. By performing this setting, when the sensor detects a newID, it is determined that CPRG≠NPRG in step S107, it is determined thatCPRG=null in step S108, and then it is determined that NPRG≠null in stepS110 in FIG. 6. Then, in step S111, a next program (NPRG) correspondingto the path name obtained based on the ID is started, and thus theabended program can be restarted.

A method of detecting abend of a program in the program selecting unit402 is different depending on the data processing environment (operatingsystem) of the information processing apparatus. For example, in UNIX,abend of a program can be detected by executing wait ( ) on a processobtained by executing fork ( ). Also, in Windows, the end of a processcan be notified as an event. A result of program monitoring process ofthe OS is input to the program selecting unit 402 (see FIG. 5), and inaccordance with the input, the set value of the current program (CPRG)is updated.

SECOND EMBODIMENT Process of Connecting/Disconnecting to/from Network

Next, a process of connecting/disconnecting to/from a network in acommunication processing apparatus will be described as a second exampleof a process to which the information processing apparatus and theinformation processing method of the present invention are applied.

FIG. 7 shows an example of the system structure of the informationprocessing apparatus used for performing this embodiment. In thissystem, a camera 602 provided on a display 601 functions as a sensor,and takes an image of the area in front of the display 601. Apredetermined area in front of the display 601, which can be taken bythe camera 602, is set as an image pickup range 605 corresponding to thesensor effective area.

A data processing unit 603 includes the elements shown in FIG. 1 exceptthe sensor 101 (corresponding to the camera 602) and the output unit 106(corresponding to the display 601); that is, the object-identifying unit102, the information processing unit 103, the ID/internal-statecorrespondence storage unit 104, and the network interface 105 of theinformation processing apparatus 100 shown in FIG. 1.

In this embodiment, cards 604 are used as objects. The cards are anexample of an object, and another object may also be applied. In orderto recognize the cards 604, an image taken by the camera 602 on thedisplay 601 is used. Further, a client A (607) including the display601, the camera 602, and the data processing unit 603 is connected to anetwork 606 through the network interface included in the dataprocessing unit 603, and the client A (607) can be connected to anotherclient B (608) through the network 606.

FIG. 8 shows an example of the cards as objects. In this embodiment, auser can be connected to another user (connected party) by using adesired method (communication protocol) through the network by puttingcards in front of the display. Two-dimensional codes 711, 721, and 731indicating identifiers are printed on the surfaces of the cards,respectively. In FIG. 8, a two-dimensional code is used as a cardidentifier. However, the identifier data may be data corresponding to anRF tag or a bar code, instead of the two-dimensional code.Alternatively, image information, such as a picture of a telephone ormail, may be used as identification information instead of codeinformation, as shown in FIG. 8.

Cards used in this embodiment include two types of cards; a protocolcard 704 used for setting a connecting method, such as a voiceconversation card 701 and a mail card 702, and a connected-party card703 used for setting a connected party.

For example, when a user performs voice communication with user A,he/she uses the voice conversation card as a protocol card and an A cardas a connected-party card. Also, when the user transmits a mail to userB, he/she uses the mail card as a protocol card and a B card as aconnected-party card.

When the user wants to perform voice conversation with another user,he/she puts the voice conversation card and a connected-party card onwhich a desired party's face is printed in the image-pickup range 605 infront of the display 601 in FIG. 7. Then, the camera 602 takes an imageof the two cards. After that, the object-identifying unit 102 shown inFIG. 1 obtains identification information (IDs) of the cards, and theidentification information (IDs) is output to the information processingunit 103, which performs processing in accordance with theidentification information. In this case, a communication protocol isset, and also a connected party on the set protocol, that is, processingparameters including address and telephone number are set, based on theidentification information of the two category cards.

In order to set a protocol and a connected party, the informationprocessing unit 103 searches tables stored in the ID/internal-statecorrespondence storage unit 104 based on the IDs input from theobject-identifying unit 102, so as to obtain information of a program tobe executed. The ID/internal-state correspondence storage unit 104stores processing information tables including IDs and paths of programscorresponding to the IDs.

FIGS. 9A and 9B show examples of the configuration of the processinginformation tables stored in the ID/internal-state correspondencestorage unit 104. As shown, two types of tables exist: a processinginformation table for setting a protocol (FIG. 9A); and a processinginformation table for setting a connected party (FIG. 9B).

In the processing information table used for setting a protocol shown inFIG. 9A, identifiers (IDs) to be read from objects by a sensor andconnection protocol information to be executed in accordance with theIDs (mail, telephone, etc.) are set. On the other hand, in theprocessing information table used for setting a connected party shown inFIG. 9B, identifiers (IDs) to be read from objects by a sensor, and hostnames and user names, which are connected-party information to be set inaccordance with the IDs, are set. When both of a host name and a username are given, the user is connected to a specified user of a specifiedhost. When only a user name is given, a host of the user is searched forin a database of a server, and then connection is performed to the hostobtained from the database.

As shown in FIGS. 9A and 9B, the processing information table used forsetting a protocol and the processing information table used for settinga connected party are separated. However, when IDs that are set to theprotocol cards do not overlap IDs that are set to the connected-partycards, the processing information tables stored in the ID/internal-statecorrespondence storage unit 104 may be combined. In the example shown inFIGS. 9A and 9B, upper two digits of IDs corresponding to the protocolcards are 10 (FIG. 9A), while upper two digits of IDs corresponding tothe connected-party cards are 01 (FIG. 9B). When the upper two digits ofan ID are 10, the ID represents protocol (PRT), and when the upper twodigits of an ID are 01, the ID represents connected party (CON).Therefore, the type of card can be determined based on the upper twodigits of the ID. Details of ID information structure will be describedlater.

For example, when two IDs: 1001027 and 0100021, are read from objects,and when the IDs are input from the object-identifying unit 102 to theinformation processing unit 103, the information processing unit 103outputs the IDs to the ID/internal-state correspondence storage unit 104so as to request processing based on the IDs. In the ID/internal-statecorrespondence storage unit 104, table search is performed based on theID: 1001027, and then connection protocol information (mail) is outputto the information processing unit 103. Further, in theID/internal-state correspondence storage unit 104, table search isperformed based on the ID: 0100021, and information of a connected party(host A/Alice) is output to the information processing unit 103.

The information processing unit 103 sets mail as a connection protocoland also sets host A/Alice as a connected party, so that communicationwith Alice by mail can be performed.

When the user wants to disconnect communication which is beingperformed, he/she removes the cards from the image-pickup range in frontof the display, as in the first embodiment. When the cards 604 shown inFIG. 7 are removed from the image-pickup range 605 for the sensor(camera 602), the cards disappear from image data in the sensor (camera602), and thus input of the IDs from the object-identifying unit 102 tothe information processing unit 103 shown in FIG. 1 is interrupted. Inaccordance with the interruption of input of the IDs, the informationprocessing unit 103 ends the communication processing which is currentlybeing executed in accordance with the IDs.

When a connected party does not respond to voice conversation and whenthe user wants to transmit a message to the party by mail, the userreplaces the voice conversation card by the mail card. In thisembodiment, a camera is used as the sensor 101 in FIG. 1. Therefore, thesensor effective area 110 shown in FIG. 1 is the image-pickup range forthe camera. Also, cards of various pictures are used as the object 111.In this case, the object-identifying unit 102 obtains an IDcorresponding to each card by identifying a picture on the card based ona code on the card or by image recognition.

The information processing unit 103 searches the ID/internal-statecorrespondence storage unit 104 based on the identified IDs of thecards, sets a protocol and a connected party based on the search result,and performs network connection through the network interface 105. Also,the result of the processing is presented to the user through thedisplay 601 shown in FIG. 7 or a speaker (not shown), which serve as theoutput unit 106.

Now, a process performed by the information processing unit of theinformation processing apparatus of this embodiment, that is, a processof communication performed by setting a communication protocol and aconnected party based on identified IDs of objects, will be describedwith reference to the flowcharts shown in FIGS. 10 to 12.

In this process, the following variables are used.

-   ID_QUEUE: queue for storing IDs detected based on cards-   ID_TYPE: type information indicating the type of card (protocol card    or connected-party card) in ID information-   ID_DATA: data information indicating specific information of    protocol or connected party in ID information-   PDATA: information indicating a currently-set protocol-   CDATA: information indicating a currently-connected party-   CFLG: flag information indicating whether or not connection    information has been changed

As described above, two types of cards (protocol card andconnected-party card), are used so as to set a communication protocoland a connected-party, in this embodiment. Thus, the informationprocessing unit 103 shown in FIG. 1 performs processing by using thesetwo pieces of information. The information processing unit 103 stores anID received from the object-identifying unit 102 in the ID_QUEUE in theinformation processing unit 103. Specific protocol and connected-partyinformation can be obtained from the ID/internal-state correspondencestorage unit 104 based on IDs.

The information processing unit 103 obtains specific information of acommunication protocol and a connected party from the ID/internal-statecorrespondence storage unit 104 based on IDs received from theobject-identifying unit 102, sets ID information based on the obtainedinformation, and stores the ID information in a memory. FIG. 13 shows adata structure of ID information stored in the memory in the informationprocessing unit 103. ID information includes type information (ID_TYPE)indicating the type of a card (protocol card or connected-party card)and data information (ID_DATA) indicating specific information ofprotocol or connected party in the ID information.

In the ID information, upper n bit is used for ID_TYPE and lower m bitis used for ID_DATA. As the value of ID_TYPE, any of a value indicatinga protocol (PRT) and a value indicating a connected party (CON) is set.When ID_TYPE is PRT, a value indicating a type of connecting method,such as voice telephone, mail, or video chat, is stored as ID_DATA.

When ID_TYPE is CON, IP address, host name, and nickname of theconnected party are stored as ID_DATA. When a nickname is stored, the IPaddress of a machine to be connected is obtained by searching a databaseserver based on the nickname.

A specific sequence of connection/disconnection of communication in thisembodiment will be described with reference to FIGS. 10 to 12. FIG. 10shows an entire sequence of connection/disconnection of communication inthis embodiment. FIG. 11 shows a specific sequence of checking update ofconnection information in step S203 in FIG. 10. FIG. 12 shows a specificsequence of updating a network state in step S204 in FIG. 10.

First, in step S201 in FIG. 10, variables used in this process areinitialized. In the initialization, a queue for storing ID informationobtained based on cards (ID_QUEUE) is emptied, information indicating acurrently-set protocol (PDATA) and information indicating acurrently-connected party (CDATA) are set to null, and flag information(CFLG) indicating whether or not connection information has been changedis set to OFF (false).

Then, in step S202, objects are identified and all IDs corresponding tothe objects are stored in the ID_QUEUE. The IDs are obtained by theobject-identifying unit 102 shown in FIG. 1 based on image informationinput from the sensor 101. Each ID may be obtained based on codeinformation, such as a bar code or a two-dimensional code.Alternatively, the ID may be obtained based on a picture of a telephoneor mail, by matching an image taken by a camera and a prepared templateimage. Each obtained ID is output to the information processing unit 103shown in FIG. 1, and the information processing unit 103 stores the IDsin the obtained ID information storing queue (ID_QUEUE), which serves asa data storage unit.

When a number of cards of the same ID_TYPE, that is, a number ofprotocol cards or a numbered of connected-party cards, are recognized, ahigh priority is given to a card of the same value as the currentID_DATA in each ID_TYPE, and the card is stored in the obtained IDinformation storing queue (ID_QUEUE). That is, the ID of one of theprotocol cards and the ID of one of the connected-party cards can bestored in the obtained ID information storing queue (ID_QUEUE).

When a protocol card or a connected-party card does not exist in thesensor effective area, the object-identifying unit 102 shown in FIG. 1outputs information indicating that fact as obtained ID information tothe information processing unit 103. For example, the upper digits ofthe ID information indicating a protocol card is 10 and the upper digitsof the ID information indicating a connected-party card is 01. In thiscase, when a protocol card does not exist, the object-identifying unit102 outputs a special ID: 1000000, in which all lower digits are 0, tothe information processing unit 103, and when a connected-party carddoes not exist, the object-identifying unit 102 outputs a special ID:0100000, in which all lower digits are 0, to the information processingunit 103. The information processing unit 103 stores these IDs in thequeue (ID_QUEUE).

Then, in step S203, update of connection information is checked. In thisstep, the IDs identified in step S202 are compared with information of acurrent network connection, so as to determine whether or not thenetwork connection state should be changed. Then, in step S204, thenetwork connection state is changed, if necessary, based on the resultof step S203. Finally, in step S205, end determination is performed.When a process is continued based on ID identification, the processreturns to step S202.

Next, “check update of connection information” in step S203 will bedescribed in detail with reference to FIG. 11. First, in step S301, itis checked whether or not the obtained ID information storing queue(ID_QUEUE) is empty. If the queue is empty, the subroutine is completed.

If an ID exists in the obtained ID information storing queue (ID_QUEUE),the process proceeds to step S302. In step S302, an ID is taken from thetop of the obtained ID information storing queue (ID_QUEUE), specificinformation of a protocol or a connected party is obtained from theID/internal-state correspondence storage unit 104 based on the ID, and atype and data based on the obtained information are set as ID_TYPE andID_DATA, respectively. By taking the ID from the queue (ID_QUEUE), aspace for storing an ID can be obtained, and thus a new ID can be storedin the queue.

At this time, when a card exists in an image taken by the sensor(camera) and when a card ID of the same type (protocol or connectedparty) as that of the ID taken from the queue is read, that ID is storedin the obtained ID information storing queue (ID_QUEUE). For example,when a protocol card continuously exists in the sensor effective area,the ID information of the same protocol is stored immediately after anID is obtained from the obtained ID information storing queue(ID_QUEUE).

Also, when a connected-party card continuously exists in the sensoreffective area, the ID information of the same connected party is storedimmediately after an ID is obtained from the obtained ID informationstoring queue (ID_QUEUE).

Then, in step S303, it is determined whether or not the ID_TYPE is PRT(protocol information). If the ID_TYPE is protocol information, theprocess proceeds to step S304; otherwise, the process proceeds to stepS306.

In step S304, it is determined whether PDATA, which is informationindicating a currently-set protocol, is the same as ID_DATA, which isprotocol information obtained from ID information. That is, it isdetermined whether or not a current protocol must be changed based on anewly-obtained ID. When the current protocol must be changed, that is,when PDATA≠ID_DATA, the process proceeds to step 305. On the other hand,when the current protocol need not be changed, that is, whenPDATA=ID_DATA, the process returns to step S301, where an ID is obtainedfrom the obtained ID information storing queue (ID_QUEUE) again.

In step S305, PDATA, which is information indicating a currently-setprotocol, is updated to the value of the protocol information (ID_DATA)obtained based on the ID information, and the process proceeds to stepS309. In step S309, the flag (CFLG) which indicates that PDATAindicating the currently-set protocol or CDATA indicating thecurrently-connected party has been changed is turned ON (true), and thenthe process is repeated starting from step S301.

In step S303, when ID_TYPE is not PRT (protocol information), theprocess proceeds to step S306, where it is determined whether theID_TYPE is CON (connected party information). When the ID_TYPE isconnected party information, the process proceeds to step S307, andotherwise, the process returns to step S301.

In step S307, it is determined whether or not CDATA, which isinformation indicating a currently-connected party, is the same asID_DATA, which is information of connected party obtained based on theID information. That is, it is determined whether or not thecurrently-connected party must be changed based on the newly-obtainedID. When the currently-connected party must be changed, that is, whenCDATA≠ID_DATA, the process proceeds to step 308. On the other hand, whenCDATA=ID_DATA, the process returns to step S301, where an ID is obtainedfrom the obtained ID information storing queue (ID_QUEUE) again.

In step S308, CDATA, which is information indicating thecurrently-connected party, is set to the value of ID_DATA, which isinformation of connected party obtained based on the ID information, andthen the process proceeds to step S309. In step S309, the flag (CFLG),which indicates that PDATA or CDATA has been changed, is turned ON(true), and then the process returns to step S301.

Next, “update of network state” in step S204 in the flowchart shown inFIG. 10 will be described with reference to FIG. 12.

In step S501, it is checked whether or not the flag (CFLG), whichindicates whether or not the network state should be updated, is ON. Ifthe flag is ON, the process proceeds to step S502. On the other hand, ifthe network state need not be updated, the process is completed.

When the CFLG is ON, that is, when the network state should be updated,the process proceeds to step S502, where the current state of thenetwork established by this process is checked. When communicationprocessing is being performed, the process proceeds to step S503, wherethe currently-connected network is brought into disconnection. Whencommunication processing is not being performed, the process proceeds tostep S504.

Then, in step S504, it is checked whether or not the value of PDATA,which is information indicating the currently-set protocol, and thevalue of CDATA, which is information indicating the currently-connectedparty, are effective. When the values are effective, the processproceeds to step S505, where network connection is established based onthe PDATA and the CDATA. When the values are ineffective, for example,when they are set to null, the process is completed.

As described above, when a protocol card continuously exists in thesensor effective area, ID information of the same protocol is storedimmediately after an ID is obtained from the obtained ID informationstoring queue (ID_QUEUE). Also, when a connected-party card continuouslyexists in the sensor effective area, ID information of the sameconnected party is stored immediately after an ID is obtained from theobtained ID information storing queue (ID_QUEUE). Accordingly, the IDobtained from each card is continuously set to each of the PDATA andCDATA, and thus communication is continuously performed.

When a protocol card is removed from the sensor effective area duringcommunication and when another protocol card is put in the sensoreffective area, the ID of the new protocol card is stored in theobtained ID information storing queue (ID_QUEUE), PDATA indicating thecurrently-set protocol is updated to the ID corresponding to the newprotocol card, and communication is restarted with the same connectedparty by the new protocol.

When a connected-party card is removed from the sensor effective areaduring communication and when another connected-party card is put in thesensor effective area, the ID of the new connected-party card is storedin the obtained ID information storing queue (ID_QUEUE), CDATAindicating the currently-connected party is updated to the IDcorresponding to the new connected-party card, and communication isrestarted with the new connected party by the same protocol.

Further, when a protocol card or a connected-party card is removed fromthe sensor effective area during communication and when another protocolcard or another connected-party card is not put in the sensor effectivearea, ID information which does not include effective protocolinformation or connected-party information, that is, a special ID inwhich the data portion is all 0, is stored in the obtained IDinformation storing queue (ID_QUEUE), as described above.

In this case, an ineffective value is set to PDATA or CDATA in step S305or S308 in FIG. 11. Then, in step S309, the flag indicating whether ornot the network state should be updated is set to ON. Therefore, thedetermination in step S501 is “Yes”. Then, when communication is beingperformed, the communication line is disconnected in step S503, PDATA orCDATA is determined to be ineffective in step S504, and the process iscompleted without performing another connecting process.

In this way, only when a pair of protocol card and connected-party cardexist in a predetermined area, network connection can be established.

When network connection is performed by using protocols, an applicationprogram corresponding to each protocol may be started, or connectionprotocols may be switched in an application program. Also, in theabove-described embodiment, cards are recognized by using a camera.Alternatively, an RFID tag embedded in a model (for example, model oftelephone) may be detected by an RFID reader. Also, another ID detectingmethod may be used.

THIRD EMBODIMENT Process for Enhancing Robustness Based on Determinationof Presence of an Object

Next, a process for enhancing robustness based on determination ofpresence of an object will be described as a third example of a processto which the information processing apparatus and the informationprocessing method of the present invention are applied.

In this embodiment, a method of determining presence of an object in anarea and a method of identifying the type of the object are used incombination, so that the robustness of the system is enhanced.

As can be understood from the above-described embodiments, theinformation processing apparatus of the present invention determineswhether or not an object exists in a specific area corresponding to thesensor effective area, performs startup/exit of a process and parametersetting, and changes the internal state of the information processingapparatus. In this case, the sensor may not read an ID, for example,because a user's hand covers the ID. In such a state, an application orcommunication processing may be ended, whereby that unintendedprocessing may be performed.

This will be described by using a method of starting/exiting anapplication program using a two-dimensional code in a book, which hasbeen described in the first embodiment. When a two-dimensional code isrecognized by using a camera, the two-dimensional code may not berecognized at a part of a frame of the camera. This problem occurs whena recognition algorithm is failed due to noise of an image, or when apart or whole of the two-dimensional code is covered by a user's hand.

In such a case, it is determined that an ID has disappeared from thesensor effective area and the application is exited. Then, in the nextframe, an ID is recognized, and the application is started. In this way,by faithfully performing the process, exit/startup of an applicationprogram is performed frequently, which causes inconvenience.

In this embodiment, in order to solve the above-described problem, anobject presence determining unit for determining presence of an objectin an area and an object type determining unit for determining the typeof an object are provided in the object-identifying unit 102 of theinformation processing apparatus 100 shown in FIG. 1. With thisconfiguration, processing is performed based on determination resultsfrom the two determining units, frequent startup/exit of processing inthe information processing apparatus can be suppressed, and highlyrobust and stable processing results. That is, even when identificationof an ID is temporarily impossible, if presence of an object can bedetermined, the state is not updated in the information processingapparatus and then a process of identifying an ID is performed again, sothat stable control can be achieved.

FIG. 14 shows a specific configuration of the object-identifying unit102 according to this embodiment. As shown in FIG. 14, theobject-identifying unit 102 includes an object presence determining unit802 for determining presence of an object in the sensor effective area,and an ID-determining unit 803 for identifying the ID of an object. Eachof the object presence determining unit 802 and the ID-determining unit803 receives sensor input information, such as an image taken by acamera, from a sensor data input unit 801, and then outputs adetermination result to the information processing unit 103 (see FIG. 1)through a determination result output unit 804.

Hereinafter, a system in which an application program is started/exitedby using the book described in the first embodiment will be described. Amethod of this embodiment can be generally applied not only to the firstembodiment, but also to the communication processing of the secondembodiment and to an information processing apparatus which obtains IDsof various objects and which changes an internal state based on the IDs.

FIG. 15 shows an example of the system structure of the informationprocessing apparatus used for performing this embodiment. In thissystem, a camera 902 provided on a display 901 functions as a sensor,and the camera 902 takes an image of the area in front of the display901. As in the first embodiment, a predetermined area in front of thedisplay 901, which can be taken by the camera 902, is set as an imagepickup range 900 corresponding to the sensor effective area. A dataprocessing unit 903 includes the elements shown in FIG. 1 except thesensor 101 (corresponding to the camera 902) and the output unit 106(corresponding to the display 901); that is, the object-identifying unit102, the information processing unit 103, the ID/internal-statecorrespondence storage unit 104, and the network interface 105 (ifnecessary) of the information processing apparatus shown in FIG. 1. Theobject-identifying unit 102 includes the two determining units, as shownin FIG. 14.

Further, in this embodiment, the system includes an object (book)detecting sensor 905 for detecting presence of a book 904 in the sensoreffective area. The object (book) detecting sensor 905 is placed in theimage-pickup range 900, which serves as the sensor effective area.

The object (book) detecting sensor 905 is provided in order to detectonly the presence of a book in the sensor effective area, and does notidentify the ID of the book. Therefore, the object (book) detectingsensor 905 can be of a simple configuration.

FIG. 16 shows an example of the object (book) detecting sensor 905. Anumber of photodetectors 906 are embedded in the platy sensor forputting a book thereon. When an object (book) exists in the area of theobject (book) detecting sensor 905, light is cut off. Accordingly,presence of the book as an object can be easily detected.

Specifically, output of each photodetector is binarized by using anappropriate threshold, so as to determine “light” or “dark”. When thenumber of photodetectors determined to be “dark” is equal to or morethan the threshold, it is determined that a book exists.

More specifically, when a book is put on the object (book) detectingsensor 905 as shown in FIG. 17, light to many photodetectors in theobject (book) detecting sensor 905 is cut off. A binarizing unit 907binarizes output of each photodetector in the object (book) detectingsensor 905, in which “light” is represented by 0 and “dark” isrepresented by 1. Then, a computing unit 908 calculates the total valueof binary data, and the output value of the computing unit 908 iscompared with a predetermined threshold by an object detectiondetermining unit 909, so as to determine presence of an object. In theexample shown in FIG. 17, outputs of five photodetectors among sixphotodetectors are “dark” (1), and the other photodetector is “light”(0). Thus, the output value of the computing unit 908 is 5. Here, thethreshold in the object detection determining unit 909 is set to 4, andit is determined that an object exists when the output value is morethan 4. In this case, the output value from the computing unit 908 is 5,and thus it is determined that an object (book) exists.

On the other hand, when an object (book) is not put on the object (book)detecting sensor 905 as shown in FIG. 18, light to almost all thephotodetectors in the object (book) detecting sensor 905 is not cut off.In this case, output of only one photodetector is cut off by a user'shand, and thus the binarizing unit 907 determines one of the sixphotodetectors is dark (1) and the other five photodetectors are light(0). Therefore, the output value from the computing unit 908 is 1. Here,the threshold in the object detection determining unit 909 is set to 4,and it is determined that an object exists when the output value is morethan 4. In this case, the output value from the computing unit 908 is 1,and thus it is determined that an object (book) does not exist.

FIG. 19 shows another example of the object (book) detecting sensorwhich can be applied in this embodiment. In FIG. 19, a conductive sheet912 is attached on the back of the book 904. On the other hand, twoelectrodes 911 are provided on the object (book) detecting sensor 905,so as to measure whether or not the two electrodes 911 are inconduction.

When the two electrodes 911 are in conduction, it is determined that thebook 904 exists on the book detecting sensor 905, and when theelectrodes are not in conduction, it is determined that the book 904does not exist. With this configuration, presence of an object can beeasily determined without using photodetectors. Also, other variousmethods may be used. For example, an optical sensor, an infrared sensor,or a physical switch structure may be used. Alternatively, a magneticsubstance may be attached to an object so as to detect the object by amagnetic sensor.

In the system structure shown in FIG. 15, the dedicated object (book)detecting sensor 905 for detecting presence of an object is applied.Alternatively, a sensor for detecting an ID may also be used fordetecting presence of an object.

That is, a sensor (in this case, the camera 902) for identifying thetype (ID) of an object may be used for detecting presence of an object(for example, a book). In this case, presence of an object (book) can bedetermined and also the ID of the object can be obtained based on animage taken by the camera 902.

Specifically, for example, presence of an object is determined byanalyzing an image taken by the camera 902. Hereinafter, a bookdetecting method using difference in images will be described. First, atinitialization of the system, an image taken by the camera is stored asa reference image. As the reference image, an image of a state where anobject does not exist is used.

In order to perform processing, an image taken by the camera is input tothe object presence determining unit 802 of the object-identifying unit102 shown in FIG. 14, so as to compare the input image with thereference image. That is, difference in a corresponding pixel of thereference image and the input image is obtained, and the absolute valueof the difference is calculated over all pixels, so as to obtaindifference total data. When the value of the difference total datasurpasses a predetermined threshold, it is determined that an objectexists in a target area. On the other hand, when the value of thedifference total data is less than the predetermined threshold, it isdetermined that an object does not exist in the target area. In thisway, presence of an object and the type of the object can be determinedby using a sensor.

Some methods for detecting presence of an object have been describedabove. When presence of an object is detected, only one of the detectingmethods may be used, or a number of detecting methods may be used incombination. In the latter method, detection results of the methods arecomprehensively determined so as to obtain a final result. For example,a method of checking conduction shown in FIG. 19 and a method using animage difference may be used in combination so as to obtain a finalresult. Accordingly, presence of an object can be reliably detected,instability of processing in the information processing apparatus can beeliminated, and thus robustness can be enhanced.

With the above-described configuration, a determination resultindicating whether or not an object exist and an identification resultof the ID of an object (when an object exists) can be individuallyobtained. Hereinafter, a method of robustly changing the state of theinformation processing apparatus by using the two pieces ofidentification information will be described, by using the process ofstarting/exiting a program described in the first embodiment as anexample.

FIG. 20 shows a process of starting/exiting an application program towhich the method of this embodiment is applied.

Variables used in this process includes a flag (FOUND) indicatingwhether an object existed in a target area, in addition to a nextprogram (NPRG) and a current program (CPRG) used in the firstembodiment. Now, steps performed in the process shown in FIG. 20 will bedescribed.

First, in step S401, variables are initialized. Next program (NPRG) andcurrent program (CPRG) are initialized to null string (for example,null). When the null string “null” is set, an ineffective special pathmay be set, the path being regarded as null. The flag (FOUND) indicatingwhether an object existed in a target area is set to false.

Then, in step S402, it is determined whether an object exists. This stepcorresponds to a step of detecting an object by the object detectingsensor 905 in the configuration shown in FIG. 15. As described above,various things can be used as a detecting unit for detecting an object,such as photodetectors, a conductive sheet and electrodes, and an imagetaken by a camera. The detecting unit inputs information to the objectpresence determining unit 802 in the object-identifying unit 102 shownin FIG. 14, and then it is determined whether or not an object exists inthe sensor effective area based on the input information.

The type (ID) of an object need not be determined in this step ofrecognizing presence of the object. That is, when the object is a book,presence of the book should be determined, and a two-dimensional code onthe book need not be identified.

When it is determined that an object exists in step S403, the processproceeds to step S404, where the flag (FOUND) indicating presence of anobject in a target area is set to “true”, which indicates presence. Onthe other hand, when an object does not exist, the process proceeds tostep S405, where the flag (FOUND) is set to “false”, which indicatesabsence of an object.

Then, in step S406, the ID of the object is identified. This stepcorresponds to a step of detecting the ID by the sensor. In theconfiguration shown in FIG. 15, the image of the image-pickup range 900taken by the camera 902 is input to the ID-determining unit 803 (seeFIG. 14) of the object-identifying unit 102 in the data processing unit903, and the ID is identified based on the two-dimensional code includedin the input image. Alternatively, the ID may be identified based on abar code or an RF tag, or by analyzing the taken image.

Then, in step S407, it is determined whether or not the ID has beensuccessfully identified. When the ID has been identified, the processproceeds to step S408, where a next program corresponding to the ID isset as NPRG. That is, the information processing unit 103 shown in FIG.1 searches the table stored in the ID/internal-state correspondencestorage unit 104 based on ID information input from theobject-identifying unit 102, obtains path information of a program, andsets a string indicating the obtained path name to NPRG. As a result,the path of the next program is set to NPRG.

On the other hand, when the ID has not been obtained, such as, when aspecial ID of all-0 has been output from the object-identifying unit tothe information processing unit, the process proceeds to step S409,where the next program (NPRG) is set to null. NPRG=null means that anext program is not set.

Then, in step S410, it is determined whether or not the current program(CPRG) is the same as the next program (NPRG). When CPRG=NPRG, theprocess returns to step S402, and steps of recognizing an object andidentifying an ID are repeatedly performed.

When CPRG is different from NPRG, the process proceeds to step S411. Instep S411, it is determined whether the flag (FOUND) indicating presenceof an object in a target area is set to “true” and also the next program(NPRG) is set to null.

When the determination in step S411 is “Yes”, an object exists in thesensor effective area, but the ID of the object has not been able toidentified for some reasons. Thus, the process returns to step S402, andsteps for recognizing an object and identifying the ID of the object arerepeatedly performed.

When the determination in step S411 is “No”, the process proceeds tostep S412, where the value of the current program (CPRG) is checked.When the current program (CPRG) is not null, that is, when a program iscurrently being executed, the process proceeds to step S413, so as toexit the current program (CPRG).

Then, in step S414, the value of the next program (NPRG) is checked.Specifically, it is checked whether the next program has been set(NPRG≠null) or not (NPRG=null). When the next program (NPRG) has beenset (NPRG≠null), the process proceeds to step S415, where an NPRGsetting file is obtained in accordance with the path set to the nextprogram (NPRG), so as to start the next program.

When it is determined that the next program does not exist (NPRG=null)in step S414, the process jumps to step S416. In step S416, the setvalue of the next program (NPRG) is substituted into the set value ofthe current program (CPRG). In addition, a null string (null) is set tothe next program (NPRG), and the process returns to step S402, so as toperform steps of recognizing an object and identifying the ID of theobject again.

In the above-described process, even if the ID of an object cannot beobtained, when presence of the object can be determined, thedetermination in step S411 is “Yes”. In that case, the process does notproceed to step S413 (step of exiting the current program (CPRG)).Therefore, the current program is not exited due to ID obtaining error,so that the current program is continuously executed. Accordingly,startup/exit of a program is not repeated frequently, and thus highlystable and robust control can be achieved.

System Structure

Next, an example of the hardware structure of the information processingapparatus according to the present invention will be described withreference to FIG. 21. In FIG. 21, a central processing unit (CPU) 951 isa processor which executes various application programs and an operatingsystem (OS). A read-only-memory (ROM) 952 stores programs executed bythe CPU 951 or fixed data as computing parameters. A random accessmemory (RAM) 953 is used as a storage area or a work area for programsexecuted by the CPU 951 and parameters which change in programprocessing. An HDD 954 controls a hard disk and stores/reads varioustypes of data and programs in/from the hard disk.

A bus 960 includes a peripheral component Internet/Interface (PCI) busor the like, and enables data transmission with each input/output devicethrough each module and an input/output interface 961.

An input unit 955 includes a keyboard and a pointing device, and isoperated by a user in order to input various commands and data to theCPU 951. An output unit 956 includes a CRT or a liquid crystal displayfor displaying images, and displays various information in a text orimage form.

A communication unit 957 performs communication processing with anotherdevice. A drive 958 performs recording/playback of data in a removablerecording medium 959, such as a flexible disk, a compact disc read onlymemory (CD-ROM), a magneto-optical (MO) disc, a digital versatile disc(DVD), a magnetic disc, or a semiconductor memory. The drive 958 playsback a program or data from the removable recording medium 959, andstores a program or data in the removable recording medium 959.

A sensor A (971) includes a camera or an RF reader, as described in theabove embodiments, and obtains ID information from an object put in thesensor effective area. A sensor B (972) is used for recognizing presenceof an object, and includes photodetectors, a current detecting unitusing a conductor, an optical sensor or a magnetic sensor, so as todetect presence of an object in the sensor effective area, as describedin the third embodiment.

In each of the above-described embodiments, the process described withreference to the flowcharts, that is, processes of starting/exiting anapplication program, starting/ending communication processing, changinga connected party, and changing parameters, are performed in accordancewith the programs stored in the ROM or another storage medium, eachprocess being determined by the CPU 951 based on information input fromthe sensor A (971) or B (972).

The series of processes described in this specification can be performedby hardware or software, or by combination thereof. When the processesare performed by software, a program recording the processing sequenceis installed into a memory in a computer incorporated in dedicatedhardware or into a multi-purpose computer which can perform variousprocessing, so that the processes can be performed.

The program can be recorded in a storage medium, such as a hard disk ora ROM, in advance. Alternatively, the program can be temporarily orpermanently stored (recorded) in a removable recording medium, such as aflexible disc, a CD-ROM, an MO disc, a DVD, a magnetic disc, or asemiconductor memory. These types of removable recording media can beprovided as so-called package software.

Also, the program can be installed from the removable medium into acomputer. Alternatively, the program can be wirelessly transferred froma download site to a computer, or can be transferred by wire through alocal area network (LAN) or the Internet. In that case, the computerreceives the transferred program and then installs the program into astorage medium in the computer, such as a hard disk in the computer.

The various processes described in the specification may be performed intime-series in accordance with the described order, or may be performedin parallel or individually depending on the processing ability of thedevice performing the processes, or according to need.

The present invention has been described in detail with reference to thespecific embodiments. However, those skilled in the art can realizemodifications and substitutions of these embodiments without deviatingfrom the scope of the present invention. That is, the present inventionhas been disclosed by using examples, and should not be interpreted in alimited manner. In order to determine the scope of the presentinvention, the attached claims should be considered.

1. An information processing apparatus, comprising: a sensor fordetecting an object, the sensor configured to continuously sense asensor effective area; an object-identifying unit which obtains an IDcorresponding to the object within the sensor area, the ID based oninformation input from the sensor and the object-identifying unitconfigured to output the obtained ID based on the information input fromthe sensor; and an information processing unit which receives the IDfrom the object-identifying unit so as to perform a programcorresponding to the ID; wherein the information processing unitcompares a program that is set based on a newly-input ID with a programthat is set based on an already-input ID from the object-identifyingunit, and ends a currently-executed program when the two programs aredifferent from each other.
 2. An information processing apparatusaccording to claim 1, wherein the information processing unit comparesthe program that is set based on the newly-input ID with the programthat is set based on the already-input ID from the object-identifyingunit, and ends the currently-executed program so as to start the programthat is set based on the newly-input ID when the two programs aredifferent from each other.
 3. An information processing apparatusaccording to claim 1, further comprising an ID/internal-statecorrespondence storage unit for storing a processing information tablein which IDs to be obtained by the object-identifying unit areassociated with paths of execution files, wherein the informationprocessing unit searches the ID/internal-state correspondence storageunit based on the ID input from the object-identifying unit so as todetermine a program to be executed.
 4. An information processingapparatus according to claim 1, wherein the sensor detects the object inthe sensor effective area serving as an object recognizing area, theobject-identifying unit outputs a special ID indicating absence of anobject to the information processing unit when information received fromthe sensor does not include object information from which an ID can beobtained, and the information processing unit sets a next program tonull based on the special ID.
 5. An information processing apparatusaccording to claim 1, wherein the information processing unit starts anapplication program that is set based on the ID input from theobject-identifying unit, compares an application program that is setbased on the newly-input ID with an application program that is setbased on the already-input ID from the object-identifying unit, and endsthe currently-executed application program when the two applicationprograms are different from each other.
 6. An information processingapparatus, comprising: a sensor for detecting objects; anobject-identifying unit which obtains first and second IDs correspondingto the objects based on information input from the sensor so as torepeatedly output the obtained first and second IDs based on theinformation input from the sensor; and an information processing unitwhich repeatedly receives the first and second IDs from theobject-identifying unit so as to perform a program corresponding to thefirst and second IDs, wherein the information processing unit sets acommunication protocol corresponding to the first ID input from theobject-identifying unit and sets a connected party corresponding to thesecond ID input from the object-identifying unit, and when at least oneof a communication protocol and a connected party corresponding to firstand second newly-input IDs from the object-identifying unit is differentfrom at least one of a communication protocol and a connected partycorresponding to first and second already-input IDs, the informationprocessing unit changes the communication protocol or the connectedparty based on the corresponding newly-input ID.
 7. An informationprocessing apparatus according to claim 6, further comprising anID/internal-state correspondence storage unit for storing a processinginformation table including data of correspondence between IDs to beobtained by the object-identifying unit and communication protocolinformation and data of correspondence between IDs to be obtained by theobject-identifying unit and connected party information, wherein theinformation processing unit searches the ID/internal-statecorrespondence storage unit based on the first and second IDs input fromthe object-identifying unit so as to obtain information of correspondingcommunication protocol and connected party.
 8. An information processingapparatus according to claim 7, wherein the object-identifying unitcomprises an ID-determining unit for obtaining an ID corresponding tothe object and an object presence determining unit for determiningpresence of the object in a sensor detecting area, and wherein theinformation processing unit controls processing based on ID informationdetermined by the ID-determining unit and on presence determinationinformation of the object determined by the object presence determiningunit, ends the currently-executed program when the program correspondingto the newly-input ID based on ID information determined by theID-determining unit is different from the program corresponding to thealready-input ID and when the object presence determining unitdetermines absence of the object, and continues the currently-executedprogram when the program corresponding to the newly-input ID based onthe ID information determined by the ID-determining unit is differentfrom the program corresponding to the already-input ID and when theobject presence determining unit determines presence of the object.
 9. Acommunication processing apparatus performing communication processing,the apparatus comprising: a sensor configured to continuously sense asensor effective area and for detecting first and second objectspositioned within the sensor effective area; an object-identifying unitwhich obtains first and second IDs corresponding to the first and secondobjects based on information input from the sensor, theobject-identifying unit configured to output the obtained first andsecond IDs based on the information input from the sensor; and aninformation processing unit configured to receive the first and secondIDs from the object-identifying unit, the information processing unitfurther configured to perform a program corresponding to the receivedIDs; wherein the information processing unit sets a communicationprotocol corresponding to the first ID input from the object-identifyingunit and sets a connected party corresponding to the second ID inputfrom the object-identifying unit.
 10. A communication processingapparatus performing communication processing, the apparatus comprising:a sensor for detecting objects; an object-identifying unit which obtainsfirst and second IDs corresponding to the objects based on informationinput from the sensor, so as to repeatedly output the obtained first andsecond IDs based on the information input from the sensor; and aninformation processing unit which repeatedly receives the first andsecond IDs from the object-identifying unit so as perform a programcorresponding to the IDs; wherein the information processing unit sets acommunication protocol corresponding to the first ID input from theobject-identifying unit and sets a connected party corresponding to thesecond ID input from the object-identifying unit, and wherein when atleast one of the communication protocol and the connected partycorresponding to first and second newly-input IDs from theobject-identifying unit is different from at least one of acommunication protocol and a connected party corresponding to first andsecond already-input IDs, the information processing unit changes thecommunication protocol or the connected party based on the correspondingnewly-input ID.
 11. An information processing method, comprising:identifying an object; obtaining an ID corresponding to the object basedon information input from a sensor when the object is within acontinuously sensed sensor effective area; outputting the obtained ID toan information processing unit based on the information input from thesensor; and communicating the ID to an information processing unit andperforming a program corresponding to the ID; wherein the informationprocessing unit compares a program that is set based on a newly-input IDwith a program that is set based on an already-input ID, and acurrently-executed program is ended when the two programs are differentfrom each other.
 12. An information processing method according to claim11, wherein communicating the ID includes comparing the program that isset based on the newly-input ID with the program that is set based onthe already-input ID, and the currently-executed program is ended so asto start the program that is set based on the newly-input ID when thetwo programs are different from each other.
 13. An informationprocessing method according to claim 11, further comprising storing aprocessing information table in an ID/internal-state correspondencestorage unit, the processing information table stores IDs that areassociated with paths of execution files is searched based on the inputID so as to determine a program to be executed.
 14. An informationprocessing method according to claim 11, wherein the sensor detects theobject in the sensor effective area serving as an object recognizingarea, wherein in the object identifying step, a special ID indicatingabsence of an object is output to the information processing unit wheninformation received from the sensor does not include object informationfrom which an ID can be obtained, and wherein in the informationprocessing step, a next program is set to null based on the special ID.15. An information processing method according to claim 11, whereincommunicating the ID includes starting-an application program that isset based on the input ID, an application program that is set based onthe newly-input ID is compared with an application program that is setbased on the already-input ID, and the currently-executed applicationprogram is ended when the two application programs are different fromeach other.
 16. An information processing method, comprising: an objectidentifying step of obtaining first and second IDs corresponding toobjects based on information input from a sensor, which detects theobjects, and repeatedly outputting the obtained IDs to an informationprocessing unit based on the information input from the sensor; and aninformation processing step of repeatedly receiving the first and secondIDs obtained in the object identifying step and performing a programcorresponding to the first and second IDs; wherein, in the informationprocessing step, a communication protocol corresponding to the first IDis set and a connected party corresponding to the second ID is set, andwhen at least one of a communication protocol and a connected partycorresponding to first and second newly-input IDs is different from atleast one of a communication protocol and a connected partycorresponding to first and second already-input IDs, the communicationprotocol or the connected party is changed based on the correspondingnewly-input ID.
 17. An information processing method according to claim16, wherein, in the information processing step, an ID/internal-statecorrespondence storage unit for storing a processing information tableincluding data of correspondence between IDs and communication protocolinformation and data of correspondence between IDs and connected partyinformation is searched based on the input first and second IDs so as toobtain information of corresponding communication protocol and connectedparty.
 18. An information processing method according to claim 16,wherein the object identifying step further includes an ID determiningstep of obtaining an ID corresponding to the object and an objectpresence determining step of determining presence of the object in asensor detecting area, and wherein in the information processing step,processing is controlled based on ID information determined in the IDdetermining step and on presence determination information of the objectdetermined in the object presence determining step, thecurrently-executed program is ended when the program corresponding tothe newly-input ID is different from the program corresponding to thealready-input ID and when absence of the object is determined in theobject presence determining step, and the currently-executed program iscontinued when the program corresponding to the newly-input ID isdifferent from the program corresponding to the already-input ID andwhen presence of the object is determined in the object presencedetermining step.
 19. A communication processing method, comprising:obtaining first and second IDs corresponding to objects based oninformation input from a sensor when the objects are located within acontinuously sensed sensor effective area outputting the obtained firstand second IDs to an information processing unit based on theinformation input from the sensor; and receiving the first and secondIDs obtained and performing a program corresponding to the IDs, whereinthe information processing unit is configured to compare the programthat corresponds to the first ID with another program that correspondsto the second ID, and ends a currently-executed program when the twoprograms are different from each other; and wherein a communicationprotocol corresponding to the first ID is set and a connected partycorresponding to the second ID is set.
 20. A communication processingmethod, comprising: an object identifying step of obtaining first andsecond IDs corresponding to objects based on information input from asensor, which detects the objects, and repeatedly outputting theobtained first and second IDs to an information processing unit based onthe information input from the sensor; and an information processingstep of repeatedly receiving the first and second IDs obtained in theobject identifying step and performing a program corresponding to theIDs, wherein, in the information processing step, a communicationprotocol corresponding to the first ID is set and a connected partycorresponding to the second ID is set, and wherein, when at least one ofa communication protocol and a connected party corresponding to firstand second newly-input IDs is different from at least one of acommunication protocol and a connected party corresponding to first andsecond already-input IDs, the communication protocol or the connectedparty is changed based on the corresponding newly-input ID.
 21. Acomputer program for executing information processing, the programcomprising: obtaining an ID corresponding to an object located within asensor effective area continuously sensed by a sensor outputting theobtained ID to an information processing unit based on the informationsensed by the sensor; and processing the ID obtained corresponding tothe object and performing a program corresponding to the ID; wherein aprogram that is set based on a newly-input ID is compared with a programthat is set based on an already-input ID, and a currently-executedprogram is ended when the two programs are different from each other.22. A computer program for executing communication processing, theprogram comprising: an object identifying routine programmed to obtainfirst and second IDs corresponding to objects detected within a sensoreffective area of a sensor, and repeatedly outputting the obtained firstand second IDs to an information processing unit based on theinformation provided by the sensor; and an information processingroutine programmed to receive the first and second IDs sensed andprovided by the sensor, the information processing routine programmed toperform a program corresponding to the IDs, wherein the informationprocessing routine is configured to compare the program that correspondsto the first ID with another program that corresponds to the second ID,and ends a currently-executed program when the two programs aredifferent from each other; and; wherein a communication protocolcorresponding to the first ID is set and a connected party correspondingto the second ID is set.